package com.dstz.bpm.api.service;

import com.dstz.bpm.api.constant.NodeType;
import com.dstz.bpm.api.model.def.BpmProcessDef;
import com.dstz.bpm.api.model.def.IBpmDefinition;
import com.dstz.bpm.api.model.nodedef.BpmNodeDef;
import java.util.List;

public interface BpmProcessDefService {
   IBpmDefinition getDefinitionById(String var1);

   IBpmDefinition getDefinitionByActDefId(String var1);

   BpmNodeDef getBpmNodeDef(String var1, String var2);

   BpmProcessDef getBpmProcessDef(String var1);

   List<BpmNodeDef> getNodeDefs(String var1);

   List<BpmNodeDef> getNodesByType(String var1, NodeType var2);

   List<BpmNodeDef> getAllNodeDef(String var1);

   void clean(String var1);

   BpmNodeDef getStartEvent(String var1);

   List<BpmNodeDef> getEndEvents(String var1);

   List<BpmNodeDef> getStartNodes(String var1);

   boolean isStartNode(String var1, String var2);

   boolean validNodeDefType(String var1, String var2, NodeType var3);

   boolean isContainCallActivity(String var1);

   List<BpmNodeDef> getSignUserNode(String var1);

   BpmProcessDef initBpmProcessDef(IBpmDefinition var1);
}
